// 引入express
const express = require('express');
// 创建服务器应用
const app = express(); //http  creatServer

// 客户端发送请求 返回响应
// 路由：指定客户端的请求方式 如何响应客户端的请求
// 路由
// 组成：
// 请求方式 get post 
// 请求路径path  必须以/ 开头  
// 回调函数
app.get('/zihao',(req,res)=>{
    // console.log(req);
    console.log(req.query);//{ name: 'tom', age: '18' }
    // get请求的参数在路径后面  ?key=value&key=value  query参数
    // 
    // console.log(req.url);
    res.end('zhongqiujieguowanleggregrsghtr');
})
// params参数
// http://localhost:3000/heixuechen/5
// 占位符
app.get('/heixuechen/:sex/:id/:age',(req,res)=>{
    console.log(req.params);//{ sex: 'nan', id: '5', age: '18' } 
    // 获取的是get请求的params参数的值
    // req.body 获取的post请求的请求体，直接获取获取不到，需要中间件
    // req.cookies 获取cookie
    // req.headers 获取请求头
    console.log(req.headers);
    
    res.end('you are boy');
})
// 二级路由、 子路由
app.get('/test/test1',(req,res)=>{
    console.log(req.query);
    res.end('xxx');
})
app.get('/testres',(req,res)=>{
    // res.end 返回响应  快速返回响应
    // res.end('中秋快乐');

    // 返回响应 根据内容自己设置对应的响应头
    // res.send('中秋节快乐')

    // 返回响应  浏览器自动下载指定文件到本地
    // res.download('./public/html/index.html')

    // 返回响应  在浏览器中自动打开指定的文件
    // 注意在sendFile当中不能使用相对路径，使用绝对路径
    // res.sendFile(__dirname + '/public/html/index.html');
    // 返回响应   将传入的数据作为json字符串返回
    // res.json({name:"蒲冠旭",age:18});
    // 访问http://localhost:3000/testres
    // 返回响应   重定向
    // res.redirect('http://baidu.com');
    // res.status() 设置响应头状态码
    
    res.status(300).end('xx');
})

// 监听端口号
app.listen(3000,err=>{
    if(!err) console.log('服务器启动成功！！');
    else console.log(err);
})


/* 
1.在码云上创建仓库
2.将仓库克隆到本地
3.npm init 创建package.json 
4.创建 git忽略文件 .gitiginore
5. 下载express  npm i express -S
6. 创建入口index.js  （main.js  app.js）
7.文件内部的服务器创建
    ①引入express模块
    ②创建app应用
    ③监听端口
    ④路由
8.运行服务器
 node 入口文件的名字    

服务器内容更改 服务器重新启动


9.配置nodemon 服务器内容更改，自动重新启动
    ①下载nodemon   npm i -D nodemon
    ② 在package.json文件中进行配
     "scripts": {
            "test": "echo \"Error: no test specified\" && exit 1",
            "dev":"nodemon ./index.js"  nodemon后面跟的文件名字是入口文件的名字
        },


*/